WIP: Allow changing all the container images#126
Conversation
Align with the version used by the openstack-k8s-operators.
With this commit we start deploying the MCP server as a sidecar container of the lightspeed-service container. The MCP server deployed is the one from our own rhos-mcps repository [1]. On installation the `openshift-cli` tool is enabled when OpenStack Lightspeed is configured, and the `openstack-cli` tool is enabled when the `OpenStackControlPlane` is ready. From a security perspective since we are deploying the MCP tools in the pod's network namespace not using TLS is not a real security risk. [1]: https://github.com/openstack-lightspeed/rhos-mcps Jira: OSPRH-27075 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
For now we don't want to automatically deploy the MCP tools, because: - Releasing the rhos-mcps image may be done at a later time. - This is an experimental feature right now, so we want it disabled by default. The name of the feature flag is `rhos_mcps` as shown in the config ample. Jira: OSPRH-27075 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Initial implementation of the MCP deployment uses the credentials from the `openstackclient` pod, which means that we are not the owners of that secret, just the copy we make in the `openstack-lightspeed` namespace, so those credentials could be removed/deleted and that would break our `openstack-cli` tool. In this patch we change the credentials and we leverage the `KeystoneApplicationCredential` CR to get our own credentials. Credential Rotation is handled by the code as well. Jira: OSPRH-27075 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Right now when we build the container (make docker-build) or the controller (make build) the go compiler will try to use all the CPUs on the machine. This can become problematic in some systems, so we add support for the `GOMAXPROCS` env var to be passed to those 2 make targets.
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Akrog The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Currently we can only change the image for the RAG using the `ragImage` field in our CR, but we have many other images subject to change. In this patch we add functionality to change the images used by the operator for the following: - lighspeed-core - exporter - postgres - console image - OKP image - RHOS MCP server To provide a consistent interface we can now set all the images under the `images` field and we remove the top level `ragImage` field (now available under `images`) for consistency. Removing the field should not be a problem since we don't have a stable CRD yet. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
f58834c to
72ceff8
Compare
Support changing all the images
Currently we can only change the image for the RAG using the
ragImagefield in our CR, but we have many other images subject to change.
In this patch we add functionality to change the images used by the
operator for the following:
To provide a consistent interface we can now set all the images under
the
imagesfield and we remove the top levelragImagefield (nowavailable under
images) for consistency.Removing the field should not be a problem since we don't have a stable
CRD yet.
PS: Do not merge, this PR is to show the last commit only, as the rest of the commits are present in my other PRs (#124 and #125)